package com.talkweb.ncfw.security.permission;

import java.util.List;

/**
 * <p>文件名称: IFuncPermissionStore.java</p>
 * <p>文件描述: 功能许可存储器（仓库）-接口</p>
 * <p>版权所有: 版权所有(C)2010</p>
 * <p>内容摘要: 简要描述本文件的内容，包括主要模块、函数及能的说明</p>
 * <p>其他说明: 其它内容的说明</p>
 * <p>完成日期: 2011-10-20</p>
 * <p>修改记录1:</p>
 * <pre>
 *    修改日期:
 *    修 改 人:
 *    修改内容:
 * </pre>
 * <p>修改记录2：…</p>
 * @author  Wuqingming
 */
public interface IFuncPermissionStore {

	/**
	 * 
	 * @author：Wuqingming 	        
	 * @date：2011-10-23
	 * @Description：保存功能许可信息
	 * @param funcPermissions
	 */
	public void saveFuncPermissions (FuncPermission... funcPermissions);
	
	/**
	 * 
	 * @author：Wuqingming 	        
	 * @date：2011-10-23
	 * @Description：移除功能许可信息
	 * @param funccodes 功能编号数组
	 */
	public void removeFuncPermissions (String... funccodes);
	
	/**
	 * 
	 * @author：Wuqingming 	        
	 * @date：2011-10-23
	 * @Description：移除所有
	 */
	public void removeAll ();
	
	/**
	 * 
	 * @author：Wuqingming 	        
	 * @date：2011-10-23
	 * @Description：列出所有功能许可信息
	 * @return
	 */
	public List<FuncPermission> listFuncPermissions();
	
	/**
	 * 
	 * @author：Wuqingming 	        
	 * @date：2011-10-23
	 * @Description：按功能编号获取功能许可
	 * @param funccode 功能编号
	 * @return
	 */
	public FuncPermission getFuncPermission (String funccode);
}

